package com.docker.drug.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.docker.common.annotation.Excel;
import com.docker.common.core.domain.BaseEntity;

/**
 * 药品出库对象 doctor_drugs_out
 * 
 * @author lin
 * @date 2025-04-12
 */
public class DoctorDrugsOut extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 序号 */
    private Long id;

    /** 出库单号 */
    @Excel(name = "出库单号")
    private String drugsOutId;

    /** 出库日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "出库日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date drugsOutDate;

    /** 出库人员 */
    @Excel(name = "出库人员")
    private String drugsOutStaff;

    /** 出库类型 */
    @Excel(name = "出库类型")
    private String drugsOutType;



    /** 制单日期（创建时间） */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "制单日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date drugsOutCreationDate;

    /** 制单人员 */
    @Excel(name = "制单人员")
    private String drugsOutCreationStaff;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 采购金额（总） */
    @Excel(name = "采购金额", readConverterExp = "总=")
    private Double totalPurchaseAmount;

    /** 零售金额（总） */
    @Excel(name = "零售金额", readConverterExp = "总=")
    private Double totalRetailAmount;

    /** 审核状态（0未审核、1审核通过、2审核为通过） */
    @Excel(name = "审核状态", readConverterExp = "0=未审核、1审核通过、2审核为通过")
    private Long auditStatus;

    /** 审核日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "审核日期", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date auditDate;

    /** 审核人员 */
    @Excel(name = "审核人员")
    private String auditStaff;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setDrugsOutId(String drugsOutId) 
    {
        this.drugsOutId = drugsOutId;
    }

    public String getDrugsOutId() 
    {
        return drugsOutId;
    }

    public void setDrugsOutDate(Date drugsOutDate) 
    {
        this.drugsOutDate = drugsOutDate;
    }

    public Date getDrugsOutDate() 
    {
        return drugsOutDate;
    }

    public void setDrugsOutStaff(String drugsOutStaff) 
    {
        this.drugsOutStaff = drugsOutStaff;
    }

    public String getDrugsOutStaff() 
    {
        return drugsOutStaff;
    }

    public void setDrugsOutType(String drugsOutType) 
    {
        this.drugsOutType = drugsOutType;
    }

    public String getDrugsOutType() 
    {
        return drugsOutType;
    }



    public void setDrugsOutCreationDate(Date drugsOutCreationDate) 
    {
        this.drugsOutCreationDate = drugsOutCreationDate;
    }

    public Date getDrugsOutCreationDate() 
    {
        return drugsOutCreationDate;
    }

    public void setDrugsOutCreationStaff(String drugsOutCreationStaff) 
    {
        this.drugsOutCreationStaff = drugsOutCreationStaff;
    }

    public String getDrugsOutCreationStaff() 
    {
        return drugsOutCreationStaff;
    }

    public void setRemarks(String remarks) 
    {
        this.remarks = remarks;
    }

    public String getRemarks() 
    {
        return remarks;
    }

    public void setTotalPurchaseAmount(Double totalPurchaseAmount) 
    {
        this.totalPurchaseAmount = totalPurchaseAmount;
    }

    public Double getTotalPurchaseAmount() 
    {
        return totalPurchaseAmount;
    }

    public void setTotalRetailAmount(Double totalRetailAmount) 
    {
        this.totalRetailAmount = totalRetailAmount;
    }

    public Double getTotalRetailAmount() 
    {
        return totalRetailAmount;
    }

    public void setAuditStatus(Long auditStatus) 
    {
        this.auditStatus = auditStatus;
    }

    public Long getAuditStatus() 
    {
        return auditStatus;
    }

    public void setAuditDate(Date auditDate) 
    {
        this.auditDate = auditDate;
    }

    public Date getAuditDate() 
    {
        return auditDate;
    }

    public void setAuditStaff(String auditStaff) 
    {
        this.auditStaff = auditStaff;
    }

    public String getAuditStaff() 
    {
        return auditStaff;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("drugsOutId", getDrugsOutId())
            .append("drugsOutDate", getDrugsOutDate())
            .append("drugsOutStaff", getDrugsOutStaff())
            .append("drugsOutType", getDrugsOutType())

            .append("drugsOutCreationDate", getDrugsOutCreationDate())
            .append("drugsOutCreationStaff", getDrugsOutCreationStaff())
            .append("remarks", getRemarks())
            .append("totalPurchaseAmount", getTotalPurchaseAmount())
            .append("totalRetailAmount", getTotalRetailAmount())
            .append("auditStatus", getAuditStatus())
            .append("auditDate", getAuditDate())
            .append("auditStaff", getAuditStaff())
            .toString();
    }
}
